// StringTree.h: interface for the CStringTree class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_STRINGTREE_H__7FAC3A06_1769_4DDC_9C6E_2D8B26766ED4__INCLUDED_)
#define AFX_STRINGTREE_H__7FAC3A06_1769_4DDC_9C6E_2D8B26766ED4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000



class CStringTree : public CObject  
{
	DECLARE_SERIAL (CStringTree)
public:
	CStringTree(CString name);
	CStringTree();

	virtual ~CStringTree();

	void TreeExport(CTreeCtrl *tree, HTREEITEM* parent, BOOL bSomething, CArray<HTREEITEM,HTREEITEM> & treeItems, CStringArray & strings, CArray<CRect,CRect> & rects);
	void Serialize(CArchive& ar);
	CStringTree* GetParent();
	CString GetString(int indentlevel);
	CString GetName();
	CStringTree* GetChildAt(int nIndex);
	CStringTree* Add(CString name, CStringTree* parent);
	void Destroy();

	CStringTree* m_tParent;
	CString m_sName;
	CString m_sToolTip;
	CObArray m_oTree;
	RECT m_rcLocation;

};
typedef struct tagSTGROUP
{
    CStringTree*	tree;
    CStringTree*	item;
	CStringTree*	lastItem;
	HWND			pHandle;

}   STGROUP;

#endif // !defined(AFX_STRINGTREE_H__7FAC3A06_1769_4DDC_9C6E_2D8B26766ED4__INCLUDED_)
